import request from '@/config/axios'

// 跨境电商退换货申请 VO
export interface OrderReturnVO {
  id: number // 退换货编号
  returnNo: string // 退换货单号
  orderId: number // 订单编号
  orderNo: string // 订单号
  customerId: number // 客户编号
  returnType: number // 类型（1退货 2换货 3退款）
  returnReason: string // 退换货原因
  returnReasonDesc: string // 原因描述
  totalQuantity: number // 退换货总数量
  totalAmount: number // 退换货总金额
  refundAmount: number // 退款金额
  currencyCode: string // 货币代码
  returnStatus: number // 状态（10待审核 20已同意 30已拒绝 40待退货 50已退货 60已收货 70已退款 80已完成）
  applyTime: Date // 申请时间
  approveTime: Date // 审批时间
  approveUser: string // 审批人
  approveRemark: string // 审批备注
  returnDeadline: Date // 退货截止时间
  returnAddressId: number // 退货地址编号
  returnShippingMethod: string // 退货配送方式
  returnTrackingNo: string // 退货运单号
  returnShipTime: Date // 退货发货时间
  returnReceiveTime: Date // 退货收货时间
  qualityCheckResult: string // 质检结果
  qualityCheckTime: Date // 质检时间
  qualityCheckUser: string // 质检员
  refundMethod: string // 退款方式
  refundTime: Date // 退款时间
  refundTransactionId: string // 退款交易ID
  customerMessage: string // 客户留言
  internalNotes: string // 内部备注
  attachments: string // 附件URL列表JSON
}

// 跨境电商退换货申请 API
export const OrderReturnApi = {
  // 查询跨境电商退换货申请分页
  getOrderReturnPage: async (params: any) => {
    return await request.get({ url: `/crossborder/order-return/page`, params })
  },

  // 查询跨境电商退换货申请详情
  getOrderReturn: async (id: number) => {
    return await request.get({ url: `/crossborder/order-return/get?id=` + id })
  },

  // 新增跨境电商退换货申请
  createOrderReturn: async (data: OrderReturnVO) => {
    return await request.post({ url: `/crossborder/order-return/create`, data })
  },

  // 修改跨境电商退换货申请
  updateOrderReturn: async (data: OrderReturnVO) => {
    return await request.put({ url: `/crossborder/order-return/update`, data })
  },

  // 删除跨境电商退换货申请
  deleteOrderReturn: async (id: number) => {
    return await request.delete({ url: `/crossborder/order-return/delete?id=` + id })
  },

  // 导出跨境电商退换货申请 Excel
  exportOrderReturn: async (params) => {
    return await request.download({ url: `/crossborder/order-return/export-excel`, params })
  },
}